マテリアルチップボタンのセマンティクス
まとめ
Flutter は、次のセマンティック ラベルを適用するようになりました。button
に
すべてインタラクティブマテリアルチップアクセシビリティの目的のため。
コンテクスト
インタラクティブ マテリアル チップ (つまり、ActionChip
、ChoiceChip
、FilterChip
、 とInputChip
)
意味的にボタンとしてマークされるようになりました。
ただし、非インタラクティブな情報は、Chip
ではありません。
チップをボタンとしてマークすると、アクセシビリティ ツールに役立ちます。 検索エンジン、その他の意味解析ソフトウェア アプリの意味を理解する。たとえば、それは スクリーン リーダー (Android の TalkBack など) を許可します iOS では VoiceOver) を使用して、タップ可能なチップをアナウンスします。 ユーザーのナビゲーションを支援する「ボタン」として あなたのアプリ。この変更が行われる前は、アクセシビリティのユーザーは ツールのエクスペリエンスが標準以下だった可能性があります。 手動で追加して回避策を実装していない限り、 Chip ウィジェットにセマンティクスが欠落しているあなたのアプリで。
変更内容の説明
一番外側Semantics
すべてをラップするウィジェット
セマンティックプロパティを記述するチップクラス
変更されます。
次の変更が適用されますActionChip
、ChoiceChip
、FilterChip
、
とInputChip
:
- の
button
財産 に設定されていますtrue
。 - の
enabled
財産 チップが現在タップ可能 (コールバックを設定することによって)。
これらのプロパティの変更により、インタラクティブなチップのセマンティクスがもたらされます。 他人の行動に合わせた行動素材ボタン。
非インタラクティブな情報については、ベッド13d8b-0444-47f4-9b27-7c9a5224ad9c:
- の
button
財産 に設定されていますfalse
。 - の
enabled
財産 に設定されていますnull
。
移行ガイド
移行を実行する必要がない場合もあります。この変更は、回避策を講じた場合にのみ影響します。
マテリアルチップ欠落問題button
によるセマンティクス
に与えられたウィジェットをラッピングするlabel
のフィールドChip
とともにSemantics
としてマークされたウィジェットbutton: true
。この場合、内側と外側は、button
セマンティクスの競合により、タップ可能な領域が発生します
ラベルのサイズまで縮小するボタン
この変更が導入された後。この問題を修正してください
それを削除するか、Semantics
ウィジェットと置換
子と一緒に、または削除することで、button: true
他のセマンティックプロパティがまだある場合はプロパティ
に適用する必要がありますlabel
チップのウィジェット。
次のスニペットでは、InputChip
例として、
しかし、同じプロセスが適用されますActionChip
、ChoiceChip
、 とFilterChip
同じように。
ケース 1:Semantics
ウィジェット。
移行前のコード:
Widget myInputChip = InputChip(
onPressed: () {},
label: Semantics(
button: true,
child: Text('My Input Chip'),
),
);
移行後のコード:
Widget myInputChip = InputChip(
onPressed: () {},
label: Text('My Input Chip'),
);
ケース 2: 削除するbutton:true
からSemantics
ウィジェット。
移行前のコード:
Widget myInputChip = InputChip(
onPressed: () {},
label: Semantics(
button: true,
hint: 'Example Hint',
child: Text('My Input Chip'),
),
);
移行後のコード:
Widget myInputChip = InputChip(
onPressed: () {},
label: Semantics(
hint: 'Example Hint',
child: Text('My Input Chip'),
),
);
タイムライン
リリースされたバージョン: 1.23.0-7.0.pre
安定版リリース: 2.0.0
参考文献
API ドキュメント:
ActionChip
Chip
ChoiceChip
FilterChip
InputChip
- 素材ボタン
- マテリアルチップ
Semantics
SemanticsProperties.button
SemanticsProperties.enabled
関連する問題:
- 問題 58010:InputChipは何も発表しません iOS 上の a11y のアクション
関連する PR:
- PR 60141: マテリアルチップ a11y セマンティクスの調整 ボタンを合わせる
- PR 60645:「微調整素材チップa11y」を元に戻す ボタンに一致するセマンティクス (#60141)
- PR 61048:再着地「微調整素材チップa11y」 ボタンに一致するセマンティクス (#60141)